oracle.pgx.config

## Class RuntimeConfig

- java.lang.Object
- - oracle.pgx.config.AbstractConfig
  - - oracle.pgx.config.AbstractRuntimeConfig
    - - oracle.pgx.config.RuntimeConfig

-     @Generated(value="config_generator.py")
      public class RuntimeConfig
      extends AbstractRuntimeConfig

  PGX Runtime Config

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `RuntimeConfig.Field` Fields of PGX Runtime Config

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ArrayFactoryStrategy` | `getArrayFactoryStrategy()` `java_arrays` = use normal java arrays only (limited to 32bit in length) `java_2d_arrays` = use Java 2D arrays only (achieve arrays of 64bit in length with the cost of indirection) `off_heap_arrays` = use arrays allocated off-heap (achieve 64bit in length without performance penalty, but with the price of breaking out of the JVM) `dynamic` = decide at run-time which allocation strategy to use based on the requested array length
    `Integer` | `getBfsThresholdReadBased()` threshold of BFS traversal level items to switch to read-based visiting strategy
    `Integer` | `getBfsThresholdSingleThreaded()` until what number of BFS traversal level items vertices are visited single-threaded
    `Charset` | `getCharset()` Gets the charset.
    `Integer` | `getCniDiffFactorDefault()` default diff factor value used in the common neighbor iterator implementations.
    `Integer` | `getCniSmallDefault()` default value used in the common neighbor iterator implementations, to indicate below which threshold a subarray is considered small.
    `Integer` | `getCniStopRecursionDefault()` default value used in the common neighbor iterator implementations, to indicate the minimum size where the binary search approach is applied.
    `Integer` | `getDfsThresholdLarge()` value that determines at which number of visited vertices the DFS implementation will switch to data-structures that are more optimized for larger numbers of vertices.
    `ArrayFactoryStrategy` | `getLargeArrayStrategy()` [relevant for `dynamic` array factory only] array factory strategy to use when requested array size is exceeding `large_array_threshold`
    `Integer` | `getLargeArrayThreshold()` [relevant for `dynamic` array factory only] use `large_array_strategy` when requested array size is exceeding this number.
    `Integer` | `getMaxOffHeapSize()` maximum amount of off-heap memory PGX is allowed to allocate in megabytes, before an OutOfMemoryError will be thrown.
    `Integer` | `getNumSpinLocks()` how many spin locks each generated app will create at instantiation.
    `Integer` | `getParallelism()` number of worker threads to be used in thread pool.
    `ParallelizationStrategy` | `getParallelizationStrategy()` which parallelization strategy to use.
    `Integer` | `getSmallTaskLength()` task length if total amount of work is small than default task length (only relevant for task-stealing strategies)
    `Integer` | `getTaskLength()` default task length (only relevant for task-stealing strategies).
    `Map<RuntimeConfig.Field,Object>` | `getValues()` Gets the parsed values.
    `Map<RuntimeConfig.Field,Object>` | `getValuesWithoutDefaults()` Gets the values without defaults.
    `boolean` | `hasDefaultValue(RuntimeConfig.Field field)` Checks for default value.
    `Boolean` | `isExplicitSpinLocks()` `true` means spin explicitly in a loop until lock becomes available.
    `Boolean` | `isUseStringPool()` If `true`, PGX will store string properties in a pool in order to consume less memory on string properties
    `static RuntimeConfig` | `parse(InputStream is, boolean strict, File parent)` Parses an input stream.
    `static RuntimeConfig` | `parse(Map<String,Object> raw, boolean strict, File parent)` Parses a raw key/value mapping.
    `static RuntimeConfig` | `parse(Properties props, boolean strict)` Parses a properties file.
    `String` | `toString()`

    - ### Methods inherited from class oracle.pgx.config.AbstractRuntimeConfig

      `get, init, init, init, isInitialized, reset`

    - ### Methods inherited from class oracle.pgx.config.AbstractConfig

      `setSerializable`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Method Detail

    - #### getArrayFactoryStrategy

          public ArrayFactoryStrategy getArrayFactoryStrategy()

      `java_arrays` = use normal java arrays only (limited to 32bit in length)
      `java_2d_arrays` = use Java 2D arrays only (achieve arrays of 64bit in length with the cost of indirection)
      `off_heap_arrays` = use arrays allocated off-heap (achieve 64bit in length without performance penalty, but with the price of breaking out of the JVM)
      `dynamic` = decide at run-time which allocation strategy to use based on the requested array length

    - #### getBfsThresholdReadBased

          public Integer getBfsThresholdReadBased()

      threshold of BFS traversal level items to switch to read-based visiting strategy

    - #### getBfsThresholdSingleThreaded

          public Integer getBfsThresholdSingleThreaded()

      until what number of BFS traversal level items vertices are visited single-threaded

    - #### getCharset

          public Charset getCharset()

      Gets the charset.
      Returns:
        the charset

    - #### getCniDiffFactorDefault

          public Integer getCniDiffFactorDefault()

      default diff factor value used in the common neighbor iterator implementations.

    - #### getCniSmallDefault

          public Integer getCniSmallDefault()

      default value used in the common neighbor iterator implementations, to indicate below which threshold a subarray is considered small.

    - #### getCniStopRecursionDefault

          public Integer getCniStopRecursionDefault()

      default value used in the common neighbor iterator implementations, to indicate the minimum size where the binary search approach is applied.

    - #### getDfsThresholdLarge

          public Integer getDfsThresholdLarge()

      value that determines at which number of visited vertices the DFS implementation will switch to data-structures that are more optimized for larger numbers of vertices.

    - #### getLargeArrayStrategy

          public ArrayFactoryStrategy getLargeArrayStrategy()

      [relevant for `dynamic` array factory only] array factory strategy to use when requested array size is exceeding `large_array_threshold`

    - #### getLargeArrayThreshold

          public Integer getLargeArrayThreshold()

      [relevant for `dynamic` array factory only] use `large_array_strategy` when requested array size is exceeding this number. (defaults to `Integer.MAX_VALUE - 3`)

    - #### getMaxOffHeapSize

          public Integer getMaxOffHeapSize()

      maximum amount of off-heap memory PGX is allowed to allocate in megabytes, before an OutOfMemoryError will be thrown. Note: this limit is not guaranteed to never be exceeded because of rounding and synchronization trade-offs. It only serves as threshold when PGX starts to reject new memory allocation requests.

    - #### getNumSpinLocks

          public Integer getNumSpinLocks()

      how many spin locks each generated app will create at instantiation. Trade-off: small number implies less memory consumption. Big number implies faster execution (if algorithm uses spin locks)

    - #### getParallelism

          public Integer getParallelism()

      number of worker threads to be used in thread pool. Note: if caller thread is part of another thread-pool, this value is ignored and parallelism of parent pool is used.

    - #### getParallelizationStrategy

          public ParallelizationStrategy getParallelizationStrategy()

      which parallelization strategy to use.
      `segmented` = split work into segments, use 1 thread per segment
      `task_stealing` = F/J pool using recursive actions
      `task_stealing_counted` = F/J pool using counted completers to reduce joins

    - #### getSmallTaskLength

          public Integer getSmallTaskLength()

      task length if total amount of work is small than default task length (only relevant for task-stealing strategies)

    - #### getTaskLength

          public Integer getTaskLength()

      default task length (only relevant for task-stealing strategies). F/J pool documentation says this value should be between 100 and 10000. Trade-off: small number implies more fine-grained tasks are generated, higher stealing throughput. High number implies less memory consumption and GC activity

    - #### getValues

          public Map<RuntimeConfig.Field,Object> getValues()

      Gets the parsed values.
      Returns:
        the parsed values

    - #### getValuesWithoutDefaults

          public Map<RuntimeConfig.Field,Object> getValuesWithoutDefaults()

      Gets the values without defaults.
      Returns:
        the values without defaults

    - #### hasDefaultValue

          public boolean hasDefaultValue(RuntimeConfig.Field field)

      Checks for default value.
      Parameters:
        `field` - the field
      Returns:
        true, if value for given field is the default value

    - #### isExplicitSpinLocks

          public Boolean isExplicitSpinLocks()

      `true` means spin explicitly in a loop until lock becomes available. `false` means using JDK locks which rely on the JVM to decide whether to context switch or spin. Our experiments showed that setting this value to `true` results in better performance.

    - #### isUseStringPool

          public Boolean isUseStringPool()

      If `true`, PGX will store string properties in a pool in order to consume less memory on string properties

    - #### parse

          public static RuntimeConfig parse(InputStream is,
                            boolean strict,
                            File parent)
                                     throws IOException

      Parses an input stream.
      Parameters:
        `is` - the input stream
        `strict` - if true, parses in strict mode
        `parent` - if not null, resolves relative paths against this parent
      Returns:
        the parsed graph config
      Throws:
        `IOException` - Signals that an I/O exception has occurred.

    - #### parse

          public static RuntimeConfig parse(Map<String,Object> raw,
                            boolean strict,
                            File parent)

      Parses a raw key/value mapping.
      Parameters:
        `raw` - the raw key/value mapping to parse
        `strict` - if true, parses in strict mode
        `parent` - if not null, resolves relative paths against this parent
      Returns:
        the parsed graph config

    - #### parse

          public static RuntimeConfig parse(Properties props,
                            boolean strict)

      Parses a properties file.
      Parameters:
        `props` - the properties to parse
        `strict` - if true, parses in strict mode
      Returns:
        the parsed graph config

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

Copyright © 2015. All rights reserved.